﻿using System.Data;

namespace Myownexercise
{
    internal class Program
    {
        enum systems
        {
            apple, pear, peach
        }
        /// <summary>
        /// 光标游戏
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            //进入游戏
            Console.WriteLine("Hello!");
            int x = 3;
            int y = 2;
            char move;//设置字符存储初始位置
            move = Console.ReadKey().KeyChar;/*console.readkey为待用户按下任意键后，一次读入一个字符，按下的键显示在控制台窗口中。
                                              KeyChar属性：用来获取按下的键对应的字符，通常是该键的ASCII玛（返回的是键盘的值，如按‘K‘返回就是K）。*/
            //设置光标初始位置
            Console.SetCursorPosition(x, y);
            //当用户输入除空格外任意键时，开始游戏
            while (move != ' ')
            {
                Console.Clear();//每次读入一个新的移动方式，需要清除控制台的所有信息
                if ((x <= 0) || (y <= 0))
                {
                    Console.WriteLine("输出异常");//光标移出范围时不能进行游戏
                    break;
                }
                //用wasd控制光标上下左右移动
                else switch (move)
                    {
                        case 'w':
                            y--;
                            Console.SetCursorPosition(x, y);
                            break;
                        case 'a':
                            x--;
                            Console.SetCursorPosition(x, y);
                            break;
                        case 's':
                            y++;
                            Console.SetCursorPosition(x, y);
                            break;
                        case 'd':
                            x++;
                            Console.SetCursorPosition(x, y);
                            break;
                        default:
                            Console.Write("我没有读懂你的意思");
                            break;
                    }
                move = Console.ReadKey().KeyChar;//读入一个新的移动方式，返回循环


            }
            ////您可以按空格键退出，此时会再次进行清除
            Console.Clear();
            Console.Write("游戏结束！");


        }

    }

}





